package com.taotao.strategy.strategy.factory;

import com.taotao.strategy.strategy.service.PayStrategy;
import com.taotao.strategy.strategy.service.impl.AliPayStrategy;
import com.taotao.strategy.strategy.service.impl.UnionPayStrategy;
import com.taotao.strategy.strategy.service.impl.WeChatPayStrategy;
import lombok.extern.slf4j.Slf4j;

import java.util.HashMap;
import java.util.Map;

/**
 * @author wangjin
 * @title: StrategyFactory
 * @projectName mayikt_ strategy
 * @description: TODO
 * @date 2022/6/12 0012 19:13
 */
@Slf4j
public class StrategyFactory {
    private  static Map<String, PayStrategy> payStrategys=new HashMap<>();
    public  StrategyFactory(){
        initStrategy();
    }

    private void initStrategy() {
        payStrategys.put("aliPayStrategy", new AliPayStrategy());
        payStrategys.put("unionPayStrategy", new UnionPayStrategy());
        payStrategys.put("weChatPayStrategy", new WeChatPayStrategy());
        log.info("<初始化支付相关策略ok,payStrategys:{}>", payStrategys);
    }
    public    PayStrategy getPayStrategy(String strategyType){
        return payStrategys.get(strategyType);
    }
}


